333c0f0c |
1 | * Basic Setup |
2 | |
3 | I work on the static content of the site using [[http://mwolson.org/projects/EmacsMuse.html][Emacs Muse]]. My muse |
4 | configuration is pretty long and available in my |
5 | [[darcsweb::site-emacs/init.d/muse.el][site-emacs repository]]. The site itself exists in a [[darcsweb::unknownlamer.org][darcs repository]] |
6 | which is a fork of the source repository I edit locally--the source |
7 | repository contains muse/image files while the site repository |
8 | contains html updates as a separate series of patches. |
9 | |
10 | This provides a very nice editing environment and makes publishing |
11 | fairly easy--I push edits from my laptop to my workstation and then |
12 | off to [[http://hcoop.net][HCoop]] with the html updates. Almost no effort is spent dealing |
13 | with some dumb web interface or other pointless things making it much |
14 | easier for me to just write things and toss them up onto the web. |
15 | |
16 | * Scripts |
17 | |
18 | There are a few scripts and templates in the [[darcsweb::site-support]] |
19 | repository that I use to update the |
20 | site. [[darcsweb::site-support/update.sh]] automates the process of |
21 | sending patches off to the server via afs. |
22 | |
23 | ** Book Database |
24 | |
25 | [[Book List]] is autogenerated by [[darcsweb::site-support/books.lisp]] which |
26 | reads a template and a small sexp *database* of book entries and spits |
27 | out a muse file which is not kept under VC. This works well for me |
28 | currently, but I intend to eventually *upgrade* this simple system to an |
29 | [[http://common-lisp.net/project/elephant/][Elephant]] object database with a [[http://common-lisp.net/project/mcclim/][CLIM]] frontend for editing |
30 | entries. I'll probably end up writing a minimal database manager for |
31 | the sexp based system first. |
32 | |
33 | ** RSS Feed |
34 | |
35 | The site rss feed is generated by [[darcsweb::site-support/rss.lisp]]. It |
36 | fetches the darcs xml changelog for interesting files and then spits |
37 | out a tolerable feed with automagically generated links from =*.muse= to |
38 | =*.html=. A [[darcsweb::site-support/update-rss-binary][dumped binary]] is run from a darcs hook on the main |
39 | repository that handily updates the feed whenever I commit. |
40 | |
41 | <code>apply posthook update-site-rss |
42 | apply run-posthook</code> |
43 | |
44 | Boring old Apache is used to serve up the generated feed. The feed |
45 | stays updated when I update, and Apache deals with properly letting |
46 | readers know when the file last changed and whatnot. |
47 | |
48 | * License |
49 | |
50 | All of the scripts used to generate the site are in the public domain |
51 | unless otherwise mentioned in the files themselves. To use them |
52 | anywhere else would require modification, but a few chunks of code |
53 | could be generally useful for other things. |